Digital electronic systems, such as digital computer systems and the like, are often tested by providing inputs such as particular sets of signals, programs, and the like, and determining whether particular circuit elements are generating sets of outputs which would be expected in response to the particular sets of inputs. If the outputs of the circuit elements are as would be expected based on the inputs that are provided during a testing operation, the circuit elements are deemed to be operating properly, at least within the testing capabilities of the testing procedures and sets of inputs that are provided during the testing operation. On the other hand, if the outputs of the circuit elements are not as would be expected based on the inputs that are provided during a testing operation, the outputs that are generated can provide valuable information which may be used to diagnose malfunctions in the digital electronic system under test.
One problem arises in testing of digital electronic system, in particular relating to the number of inputs that may be required to exhaustively test the digital electronic system's circuit elements. One particularly difficult type of circuit element to exhaustively test is a register. Registers are typically used in a digital electronic system to store control information, which may be used to control various other elements of the digital electronic system, status information which indicates status of operations of various elements of the digital electronic system, and other types of information. Information is stored in a register in the form of a data word, having a number of bits, and to test a register a data word having a particular bit pattern may be stored in the register, the contents of the register retrieved, and the bit pattern of the retrieved contents compared to an expected bit pattern. In conventional testing arrangements, to exhaustively test a register, typically data words having all possible bit patterns should be used in connection with the register. However, for a register which stores data words which have more than a relatively small number of bits, the number of bit patterns which may be stored in the register may be prohibitively large. For example, for a register which stores data words having as few as thirty-two bits, data words having 2.sup.32 (over four billion) bit patterns may be stored in such a register. For such registers, conventional testing arrangements typically will use only a subset of the possible data words, which may be insufficient to exhaustively test the register.